/*
 * TextureManager.hh
 *
 *  Created on: Jan 8, 2013
 *      Author: Zermingore
 */

#ifndef TEXTUREMANAGER_HH_
#   define TEXTUREMANAGER_HH_

#   include "common/stl.h"

class TextureManager
{
    public:
        // shd use a texture list
        TextureManager(GLenum texture, const std::string& FileName);
        ~TextureManager();


        /** Loads all required Textures
         ** \return true on success
         **   false otherwise (if any of the texture pack cannot be loaded)
         */
        bool Load();

        void Bind(GLenum TextureUnit);

    private:
        std::list<std::string> _fileNames;
        GLenum _textureTarget;
        GLuint _textureObj;
        Magick::Image* _pImage;
        Magick::Blob _blob;
};

#endif /* TEXTUREMANAGER_HH_ */
